package com.guocheng.common.annotation;

import java.lang.annotation.*;

/**
 * 自定义请求注解，用于终端设备的请求参数与项目中的参数进行对应
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
public @interface TerminalRequest {

    /**
     * 请求的参数名称
     * @return
     */
    String value();

    /**
     * 该字段数据转换为指定类型
     * @return
     */
    Class<?> type() default void.class;

    /**
     * 指定转换的工具类（优先转换工具）
     */
    Class<?> utils() default void.class;

    /**
     * 指定转换的方法（优先转换工具）
     * @return
     */
    String methods() default "";

    /**
     * 指定方法传递的参数类型,否则方法参数接收必须用object接收
     */
    Class<?> arg() default Object.class;
}
